using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace RBAC.Domain.SalesManage
{
    ///<summary>
    /// 退货通知单
    ///</summary>
    [Table("ReturnNotice")]
    public class ReturnNotice : BaseEntity
    {
        /// <summary>
        /// 单据编码
        /// </summary>
        [StringLength(50)]
        public string? BillCode { get; set; }

        /// <summary>
        /// 业务类型
        /// </summary>
        [StringLength(50)]
        public string? BusinessType { get; set; }

        /// <summary>
        /// 仓库
        /// </summary>
        [StringLength(50)]
        public string? Warehouse { get; set; }

        /// <summary>
        /// 备注信息
        /// </summary>
        [StringLength(200)]
        public string? Remark { get; set; }

        /// <summary>
        /// 单据日期
        /// </summary>
        public DateTime? BillDate { get; set; }

        /// <summary>
        /// 操作员
        /// </summary>
        [StringLength(50)]
        public string? Operator { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        [StringLength(100)]
        public string? CustomerName { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>
        [StringLength(50)]
        public string? BillStatus { get; set; }

        /// <summary>
        /// 审批员
        /// </summary>
        [StringLength(50)]
        public string? Reviewer { get; set; }

        /// <summary>
        /// 退货原因
        /// </summary>
        [StringLength(200)]
        public string? ReturnReason { get; set; }

        /// <summary>
        /// 业务状态
        /// </summary>
        [StringLength(50)]
        public string? BusinessStatus { get; set; }

        /// <summary>
        /// 审批日期
        /// </summary>
        public DateTime? ReviewDate { get; set; }

        /// <summary>
        /// 处理方式
        /// </summary>
        [StringLength(50)]
        public string? ProcessingMethod { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        /// 关联的退货物料信息集合
        /// </summary>
        public virtual ICollection<ReturnMaterials>? ReturnMaterials { get; set; }
    }
}
